Vorbemerkung :
Bei der Darstellung bestimmter physikalischer Versuche und Modelle
(z. B. fortschreitende Welle mit Oszillatoren, Potential- und Stromverhalten einer
belasteten Widerstandskette,
fraunhofersche Beugung am Einzel- und Mehrfachspalt, usw.) wird eine ganze Reihe gleichartiger
Animationselemente benötigt.
Da die Größen der einzelnen Elementaroszillatoren, -auslenkungen, -wellen, usw.
mathematisch geschickt mittels Indizierung beschrieben werden können, ist es naheliegend,
dieses Prinzip auf Animationselemente zu übertragen.
Die darzustellenden Größen werden im Kernprogramm durch Arrays beschrieben und – durch Auflistung des Array-Bezeichners im Ausgabebefehl – der Animation zugänglich gemacht. Den Komponenten der Reihenvektoren lassen sich dann durch Bestimmung eines Laufindex die zugehörigen Werte zuordnen.
Definitionen
- Vektorreihe:
|
Abb.3.66 Vektorreihe
|
Ein Reihenvektor ist eine Zusammenstellung von Vektoren, bei der die Fußpunkte der
einzelnen Vektoren
auf einer Linie äquidistant aufgereiht sind. Im Editiermodus (s. Abb. 3.66)
werden diese Vektoren parallel und gleichlang gezeichnet.
-
Vektorkette:
|
Abb.3.67 Vektorkette
|
Eine Vektorkette besteht aus einer Anzahl von Vektoren, bei der
die einzelnen wie an einer Kette aneinander hängen.
Vektorketten eignen sich besonders dazu,
Vektorsummen darstellen, s. Abb. 3.67.
Erzeugen eines Reihenvektors
Nachdem im Hauptmenü
Animation der Unterpunkt
Editieren aktiviert wurde,
ist im Menü
Animation der Unterpunkt
Reihenvektor verfügbar.
Nach Aufruf dieses Menüpunktes ändert sich der Mauszeiger in zwei kleine parallele Pfeile,
die einen Reihenvektor symbolisieren. Zieht man nun bei gedrückter linker Maustaste
den Reihenvektor größer und lässt anschließend die Maustaste los,
wird ein Reihenvektor mit vier Vektoren erzeugt (s. Abb. 3.67).
Es erscheint der Dialog
Reihenvektor-Eigenschaften (s. Abb. 3.68).
|
Abb.3.68 Reihenvektor - Eigenschaften
|
Die Registerkarten
P1 und
P2 legen die Fußpunkte des ersten und des letzten
Vektors in der Vektorreihe fest.
Über sie können ihre Bewegungen genau so festgelegt werden, wie über die Bezugspunkte des
Animationselements Rechteck, Linie etc was in
Abschnitt 3.6 genau
ausgeführt ist.
Mit Hilfe der Registerkarte
P3 lassen sich folgende Einstellungen vornehmen.
-
Mit den Schaltfeldern Kartesische Koordinaten (x, y) und
Polarkoordinaten (r, phi) kann die Art der Koordinaten gewählt werden.
Bei Einstellung auf Polarkoordinaten wird die phi-Komponente in Altgrad interpretiert.
-
Das Auswahlfeld Winkel summieren bewirkt in eingeschalteten Zustand,
dass die Richtung des einzelnen Vektors relativ zu seinem Vorgänger der Vektorreihe oder
Vektorkette interpretiert wird. Dies funktioniert unabhängig von der Wahl kartesischer oder
polarer Koordinaten.
In die Kombinationsfenster x-und y-Komponente bzw r- und
phi-Komponente
wird entweder eine bestimmte Variable oder Konstante eingetragen. Sie gilt dann für alle
Vektoren der Reihe. Es kann eine einfache Variable z.B.x, ein Array-Element
z.B. x[3,4,5] oder eine Konstante z.B. 150 sein.
Etwas diffiziler ist die Situation, wenn die einzelnen Vektoren des Reihenvektors individuelle
Koordinaten erhalten sollen. Dann sind Arrayvariablen mit einem Laufindex zu verwenden, z.B.
z[n], wobei diese Laufvariablen zu Beginn des Kernprogramms deklariert werden müssen,
z.B. als dim z[1..20] und ihnen im Kernprogramm entsprechend Werte zuzuweisen sind.
Es können sogar mehrdimensionale Array-Variablen mit einem Laufindex, z. B. x[3,n,5]
eingesetzt werden.
In diesem Fall wird dem ersten Vektor der Reihe der Wert des ersten Array-Elementes zugeordnet,
mit dem diese Komponente im Kernprogramm dimensioniert wurde.
(Z. B. dim x[1..4,6..30,1..5],
hier würde dem ersten Vektor dann x[3,6,5], dem zweiten x[3,7,5],
dem dritten x[3,8,5], usw. zugeordnet werden.)
Aufzurufen sind die Variablen durch einen Klick auf den kleinen Pfeil am rechten Rand des
Variablenfensters, dann öffnet sich die Aufklappliste.
Der erste Eintrag dieser Liste ist die aktuelle Bezeichnung,
die bei Aufruf des Eigenschaftsdialogs gültig war.
Darunter werden alle Variablennamen der Bereichsgrenzen aufgelistet.
Handelt es sich um ein 1-dimensionalen Array, so müssen an den Variablennamen stets noch
der Laufindex n in [] angehängt werden, also [n]. Bei einem mehrdimensionalen Array sind
die niedrigsten
Indizes des Arrays in eckigen Klammern angehängt. Steht z. B. im Kernprogramm:
dim x[1..3,4..7,3..5], so lautet der Eintrag x[1,n,3], wobei n wieder der Laufindex ist.
-
Mit dem x-Faktor bzw. y-Faktor wird die horizontale bzw. vertikale
Komponente der einzelnen Vektoren gestreckt bzw. gestaucht,
um die graphische Darstellung der Vektorpfeile geeignet einzustellen.
Die Faktoren beziehen sich hierbei auf die Darstellung im x, y – Koordinatensystem des
Bildschirms.
Die errechneten Werte im Kernprogramm können sich so voll und ganz auf die
physikalischen Inhalte beziehen, da die Vektoren mit diesen Faktoren skaliert werden.
Auch bei Polarkoordinaten behalten die Faktoren x und y ihre oben beschriebene Funktion.
Durch Nullsetzen des x- bzw. y-Faktors werden die Vektoren auf die y- bzw. x-Komponente
projiziert,
ohne dass dazu im Kernprogramm die Kosinus- bzw. Sinusfunktion gebraucht würde.
|
Abb.3.69 Reihenvektor-Eigenschaft "RV"
|
Auf der Registerkarte
RV lassen sich die
übergreifenden Eigenschaften des Reihenvektors festlegen, die in Abb. 3.69 zu sehen sind.
-
In das Kombinationsfenster Anzahl der Elemente wird die Anzahl der Vektoren der Reihe eingegeben.
Der Vorgabewert ist 4. Es sind hierbei Werte zwischen 1 und 250 erlaubt.
Die Anzahl der Elemente lässt sich auch während der Laufzeit ändern, wenn statt einer
Konstanten ein Variablenname eingegeben wird. Die gültigen Variablennamen können
auch in der zugehörigen Aufklappliste ausgewählt werden.
Da für die Anzahl der Vektoren nur ganzzahlige Werte möglich sind, wird der Wert einer
Variable auf ganze Zahlen gerundet. Negative Variablenwerte werden als Anzahl 1 Interpretiert.
-
Durch Ausschalten des Auswahlfeldes Spitze zeichnen kann das Zeichnen
aller Vektorspitzen des Reihenvektors unterdrückt werden.
-
Entsprechend werden durch Ausschalten des Auswahlfeldes Fuß zeichnen
alle Vektoren ohne Vektorfüße gezeichnet.
-
Im Kombinationsfenster Breite können Sie eine Zahl eingeben oder aus
der Aufklappliste auswählen.
Nach ihr richtet sich die Linienbreite der Vektorpfeile.
-
Mit dem Listenfenster Farbe kann die Strichfarbe für die Vektorpfeile eingestellt werden.
-
Linie von Spitze zu Spitze verbindet die Spitzen der einzelnen Pfeile mit der einzustellenden
Breite und Farbe, falls das Auswahlfeld Vektorkette (s. u.) nicht aktiviert wird.
-
Linie von Fuß zu Fuß verbindet die Füße der einzelnen Pfeile mit der
einzustellenden Breite und Farbe, falls das Auswahlfeld Vektorkette (s. u.) nicht aktiviert wird.
- Vektorkette
hängt den Fuß des (n+1)-ten Pfeils an die Spitze des n-ten Pfeils
(s. Abb. 3.67).
Dadurch lässt sich eine Vektorsumme sehr leicht geometrisch darstellen.
Wenn Vektorkette eingeschaltet ist, lässt sich auch der resultierende Vektor der
Kette mit Breite und Farbe zusätzlich darstellen.
Sind die Auswahlfelder Spitze zeichnen und Fuß zeichnen ausgeschaltet,
lassen sich Polygone darstellen.
Ist der resultierende Vektor aktiviert, sind die Polygone geschlossen.
Wenn bei einer Vektorreihe die Linie von Spitze zu Spitze genügt (z. B. bei der Darstellung einer
Welle ohne Elementaroszillatoren), so kann die Anzeige der Pfeile durch die Farbe Weiß unterdrückt werden.
Dies wirkt sich auch performancesteigernd aus, da bei “weiß” die Zeichenroutinen der
einzelnen Pfeile unterdrückt werden (das Zeichnen der einzelnen Pfeile kostet deutlich Zeit,
vor allem bei einer Pfeilbreite größer als 1.).
Reihenvektor im Ausgaben-Fenster bearbeiten
-
Durch Ziehen des ersten Pfeils wird die ganze Reihe verschoben.
-
Durch Ziehen des zweiten oder eines späteren Pfeils lässt sich die Reihe dehnen.
Dabei werden die Abstände zwischen den Vektoren richtig angepasst.
-
Wird eine Vektorkette gestreckt, so passen sich Richtung und Länge der Pfeile in natürlicher Weise an.
Sollen die Abstände der einzelnen Vektoren exakt gleich sein,
dann strecken Sie die Reihe am zweiten Element. Sie vermeiden damit
Kompromisse die durch unvermeidbare Rundungen entstehen,
wenn die Orte der Pfeile interpoliert werden.
-
Alle Pfeile sind gleichlang und gleichgerichtet. Orientierung und Länge
können mit den Ziehknöpfen des ersten Pfeiles verändert werden.
-
Durch Doppelklick auf einen Pfeil des Reihenelementes wird
dessen Eigenschaftsdialog aufgerufen.
-
Alternativ dazu kann mit der rechten Maustaste des Mauszeigers auf einen
Pfeil des Reihenelementes geklickt werden. Daraufhin öffnet sich ein Kontextmenü,
in dem der Punkt Eigenschaften angeklickt werden kann.
-
Die Ziehknöpfe der Animationselemente sind auch deren Verbindungspunkte.
Die Verbindungen des Reihenvektors funktionieren wie beim Vektor.
-
Der Verbindungspunkt an der Spitze des ersten Vektors ist nur durch die
Komponenten von P3 bestimmt, insb. kann er nicht durch die
Koordinaten eines anderen Verbindungspunktes beschrieben werden.
-
Bei der Vektorkette sitzt dieser Verbindungspunkt am Ende der Kette.
Hierdurch lassen sich andere Elemente an die Vektorkette anhängen und
somit auch Vektorketten an einander reihen.
|
Abb.3.69/1a Einstellungen von P3
|
Beispiel 1 : Variable Funktionsgraphen zum Fitten einer Messkurve
Ziel dieses Beispiel ist es, das Element Reihenvektor zu verwenden, um eine
analytische Funktion z einer
gemessenen Kurve anzupassen.
Bei der gemessenen Kurve handelt es sich in diesem Beispiel
um die mit dem Sonarmeter erfasste y-Bewegung eines
Federschwingers. Daher versuchen wir eine
Sinusfunktion
z(n)=u sin(v n + w) der Messkurve anzupassen.
Der Vorteil bei der Verwendung des Animationselements Reihenvektors ist, dass sich der
Verlauf von z(n) als Umhüllende der Vektorspitzen sofort den Änderungen von u,v und w
anpasst.
Die Werte von u,v und w sind zunächst unbekannt und über Schieber solange zu
verändern, bis die Messkurve die Vektoren umhüllt (siehe 1b).
Die Fußpunkte sämtlicher Vektoren sollen natürlich auf der t-Achse liegen,
daher werden
P1 und
P2 des Reihenvektors fixiert gewählt und markieren die
Zeitpunkte
t=0 bzw. t=5 auf der t-Achse des Graphen. Die y-Verschiebung der Vektorenelemente
sollen sich jeweils wie die Funktion z verhalten. In x-Richtung findet keine
Verschiebung statt. Wählen Sie daher die Einstellungen für
P3 so, wie in Abbildung 1a gezeigt.
Unter
RV müssen Sie schließlich noch die Anzahl der Vektoren einstellen.
Im Beispiel aus Abbildung 1a wurde
Anzahl der Elemente = 100 gewählt.
Die Werte für die Funktion z(n) werden im Kernprogramm definiert.
Zunächst wird eine Feldvariable z mit 100 Feldern durch
dim z[1..100]
definiert.
Innerhalb der Repeat-Schleife erfolgt dann die Abfrage der Schieber für u,v und w und
das Erstellen der "Wertetabelle" für die Funktion z(n) :
...
if ende then // fitten erst nach dem Erstellen der Messkurve
begin
u:=schieber (u); Werte für u,v und w abfragen
v:=schieber (v);
w:=schieber(w);
for j%:=1 to 100 do z[j]:=u*Sinus (j*v+w); // "Wertetablle" für z(n) erstellen
end;
Ausgabe (t, y, z, j);
...
fitten.prj
zeigt das fertige Projekt,
prinzip1.prj
ist ein einfaches Projekt, um noch einmal das Prinzip der Reihenvektorsteuerung zu
veranschaulichen.
|
Abb.3.69/1b Fitten einer Messkurve
|
|
Abb.3.69/2a Eigenschaft RV
|
Beispiel 2 : Vektorkette zur Darstellung der Bahn einer Probeladung im E-Feld eines Dipols
Im folgenden Beispiel verwenden wir das Animationselement "Reihenvektor" zur Darstellung
der Bewegung einer positiven Probeladung in einem elektrischen Dipol. Dabei erfolgt die
Bewegung parallel zu den E-Feldlinien des E-Feldes und mit einer Geschwindigkeit, die proportional
zur Feldstärke im Punkt der Probeladung ist. Wir wollen den Weg der Probeladung als entsprechende
Vektorsumme darstellen.
Die Handhabung des Animationselements zur Darstellung eines Reihenvektors als Vektorsumme
wurde oben beschrieben und unterscheidet sich nicht wesentlich vom vorherigen Beispiel.
Für uns interessant ist die Möglichkeit, die Zahl der Vektoren eines Reihenvektors während des
Ablaufs zu verändern. Auch muss nun die Option "Vektorkette" gewählt werden (siehe Abb.3.69/2a).
dipol.prj
zeigt das fertige Projekt. Die Startposition der Probeladung lässt sich über Schieber einstellen.
prinzip2.prj
ist ein einfaches Projekt, um noch einmal das Prinzip der Vektorkettensteuerung zu
veranschaulichen.
Eine typische Ausgabe ist in Abbildung 3.69/2b zu sehen.
weiter mit...
Bearbeiten von Animationselementen